package com.wgy.day20.内部类.局部内部类.final问题;
/*
局部内部类:如果希望访问所在方法的局部变量,那么这个局部变量必须是 [有效的final] 的
备注:从java 8+开始,只要局部变量事实不变,那么final关键字可以省略. 省略不写也是一样的默认还是final的

原因(和生命周期有关):
1.new出来的对象在堆内存当中
2.局部变量是跟着方法走的,在栈内存当中
3.方法运行结束以后,立刻出栈,局部变量就会立刻消失
4.但是new出来的对象会是在堆内存当中持续存在,直到垃圾回收消失.
*/
public class MyOuter {
    public void methodOuter(){
        int num = 10; //所在方法的局部变量
    //    num=20;  错误写法 num是final类型 不可以进行第二次赋值.

       
        class MyInner {//局部内部类访问所属方法的局部变量
            public void methodInner() {//局部内部类方法
                System.out.println(num);
            }
        }
    }
   
}
